package com.peach.inquiry.imsdk.tim.message;

import android.net.Uri;

import com.tencent.imsdk.TIMMessage;

import java.util.List;
import java.util.UUID;


public class MsgBean {

    public static enum MsgType {
        text,
        sound,
        image,
        face,
        custom, //包含 card  hint
        error,//不支持的消息
    }

    public static final int MSG_TYPE_MIME = 0x00;

    //自定义消息ID，flutter端生成，用于更新flutter UI中消息状态（成功，进度，失败）
    public String customMsgID;

    public String msgID;


    public long timestamp;

    /**
     * 消息的发送方ID
     * 获取消息发送者 userID
     */
    public String senderID;

    /**
     * 获取消息发送者昵称
     */
    public String nickName;

    /**
     * 用户ID
     * 如果是单聊消息，userID 为会话用户 ID，否则为 null。
     * 假设自己和 userA 聊天，无论是自己发给 userA 的消息还是 userA 发给自己的消息，这里的 userID 均为 userA
     */
    public String userID;

    /**
     * 消息发送者是否是自己
     */
    public boolean isSelf;

    /**
     * 消息自己是否已读
     */
    public boolean isRead;


    /**
     * 消息对方是否已读（只有 C2C 消息有效）
     */
    public boolean isPeerRead;


    /**
     * 消息状态
     * public static final int V2TIM_MSG_STATUS_SENDING = 1;
     * public static final int V2TIM_MSG_STATUS_SEND_SUCC = 2;
     * public static final int V2TIM_MSG_STATUS_SEND_FAIL = 3;
     * public static final int V2TIM_MSG_STATUS_HAS_DELETED = 4;
     * public static final int V2TIM_MSG_STATUS_LOCAL_REVOKED = 6;
     */
    int status;


    /**
     * 消息类型
     * text sound  image face custom
     */
    MsgType elemType = MsgType.text;


    /**
     * 消息类型的中文显示，如果是文字消息，直接展示
     */
    public String desc;


    /**
     * 消息类型 为 V2TIM_ELEM_TYPE_CUSTOM，customElem 会存储自定义消息内容
     */
    public String customElem;


    /**
     * 消息类型 为 V2TIM_ELEM_TYPE_TEXT，textElem 会存储文本消息内容
     */
    public String textElem = "";


    public String imgPath = "";

    public String thumbPath = "";

    /**
     * 消息类型 为 V2TIM_ELEM_TYPE_IMAGE，imageElem 会存储图片消息内容
     */
//    public ImgMsgContent imageElem;


    public String soundPath = "";

    public int soundDuration = 0;

    /**
     * 消息类型 为 V2TIM_ELEM_TYPE_SOUND，soundElem 会存储语音消息内容
     */
//    public SoundMsgContent soundElem;

//
//    static class ImgMsgContent {
//        /**
//         * 原图本地文件路径，只对消息发送方有效
//         */
//        String path;
//
//        String imgPath;
//
//        String thumbPath;
//
//        /**
//         * 包含的图片列表
//         */
//        List<ImgContentItem> imgList;
//
//        static class ImgContentItem {
//            /**
//             * 消息内部 ID
//             */
//            String uuid;
//
//            /**
//             * 数据大小
//             */
//            int size;
//
//            /**
//             * 的 URL 下载地址
//             */
//            String url;
//        }
//
//    }

//    static class SoundMsgContent {
//
//        /**
//         * 需要发送的语音文件的路径（只有发送方才能获取到）
//         */
//        String path = "";
//
//        /**
//         * 语音消息内部 ID
//         */
//        String uuid;
//
//
//        /**
//         * 语音数据大小
//         */
//        int dataSize;
//
//
//        /**
//         * 语音的 URL 下载地址
//         */
//        String url;
//
//    }

}


